package com.ks.user.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 模板模块-小程序模板信息表
 * </p>
 *
 * @author kingdee123
 * @since 2020-12-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("template_frame")
public class TemplateFrame extends Model<TemplateFrame> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键Id
     */
    @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;
    /**
     * 租户的小程序APPID，模板绑定的小程序APPID
     */
    @TableField("sMicroAppID")
    private String sMicroAppID;
    /**
     * 模板的来源基础模板（租户选用系统模板后，需要把原系统模板的ID放过来）
     */
    @TableField("sTemplateBase")
    private Integer sTemplateBase;
    /**
     * 是否有菜单，默认的模板都是有菜单的
     */
    @TableField("isHaveMenu")
    private Integer isHaveMenu;
    /**
     * 模板的主题样式名称
     */
    @TableField("iThemeName")
    private String iThemeName;
    /**
     * 模板的名称，用于管理查看
     */
    @TableField("iName")
    private String iName;
    /**
     * 模板的类型(SYS,TENANT),表示此条数据是系统预置还是租户自己的
     */
    @TableField("cType")
    private String cType;
    /**
     * 是否激活或是否已经上线。在系统类模板中0表示暂存，1表示上线。在租户类模板中0表示未使用，1表示使用中
     */
    @TableField("sActive")
    private Integer sActive;
    /**
     * 模板的备注信息
     */
    @TableField("iRemark")
    private String iRemark;
    /**
     * 模板的详细内容。Json格式数据。包含了首页模块清单和菜单清单
     */
    @TableField("iFrameContent")
    private String iFrameContent;
    /**
     * 模板的图标图片地址
     */
    @TableField("iPicture")
    private String iPicture;

    /**
     * 本平台在微信上预存的小程序代码模板ID
     */
    @TableField("iMicroTempID")
    private Integer iMicroTempID;
    /**
     * 创建时间
     */
    @TableField("createTime")
    private Date createTime;
    /**
     * 创建人
     */
    @TableField("createUserID")
    private Integer createUserID;
    /**
     * 租户代码
     */
    @TableField("tenantID")
    private Integer tenantID;
    /**
     * 组织代码
     */
    @TableField("orgID")
    private Integer orgID;
    /**
     * 机构代码
     */
    @TableField("orgSubID")
    private Integer orgSubID;
    /**
     * 更新时间
     */
    @TableField("updateTime")
    private Date updateTime;
    /**
     * 更新人
     */
    @TableField("updateUserID")
    private Integer updateUserID;
    /**
     * 删除标识
     */
    @TableField("delMark")
    private Integer delMark;
    /**
     * 版本（用于进行写冲突控制）每次更新数据本字段加1
     */
    @TableField("version")
    private Long version;
    /**
     * 数据类型(SYS，TENANT)，表示此数据属于租户数据还是系统数据
     */
    @TableField("dataType")
    private String dataType;

    @TableField(exist = false)
    @ApiModelProperty(value = "租户名称")
    private String tenantName;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
